home *** CD-ROM | disk | FTP | other *** search
Wrap
10 DEFSTR A-B:DEFINT C-Z:DIM TS(12):COMMON SHARED /DNDBBS.PGM/ T2!,UX,LM,CX!,LR,RM,A,WR,CR,AL,FG,IN,TF,YE,AI,NX,CA,SW,PA1$,PA2$,E1$,Z8$,TS(),X1:ON ERROR GOTO 510 20 DIM A2(6),F1$(4):CLOSE 1:OPEN "I",1,"DNDBBS.CNF":LINE INPUT #1,PA1$:LINE INPUT #1,PA2$:FOR L=1 TO 4:LINE INPUT #1,F1$(L):F1$(L)=PA1$+F1$(L):NEXT:E1$=F1$(4):FOR LP=1 TO 12:INPUT #1,TS(LP):NEXT 30 DEF FNTIM$=RIGHT$(DATE$,2)+" "+MID$("JanFebMarAprMayJunJulAugSepOctNovDec",VAL(LEFT$(DATE$,2))*3-2,3)+" "+MID$(DATE$,4,2)+","+STR$(VAL(LEFT$(TIME$,2))+12*(VAL(LEFT$(TIME$,2))>12))+MID$(TIME$,3,6)+MID$(" am pm",(1-(VAL(LEFT$(TIME$,2))>12))*3-2,3) 40 KEY OFF:CLS:Z8$="":CL=-1:CK=-1:CX!=600:LM=0:UX=0:CLOSE 3:OPEN "R",3,PA1$+"USERS.DAT",256 50 FIELD 3,80 AS B7,30 AS AN,20 AS PS$,20 AS A2,1 AS A1,2 AS A2(1),2 AS A2(2),2 AS A2(3),2 AS A2(4),2 AS A2(5),2 AS A2(6),10 AS B7,2 AS RO$,2 AS B4 60 FIELD 3,177 AS B7,8 AS A9,8 AS BT,1 AS B1,2 AS B9,2 AS BC, 2 AS V4$,2 AS V5$,2 AS BR,2 AS BP,2 AS BZ,2 AS B7,2 AS BH,2 AS B7,2 AS LCK$,2 AS B7,8 AS AD,8 AS AE,10 AS AC 70 GOSUB 170:OUT 1020,1:OUT 1019,3:A="ATZ":GOSUB 130:GOSUB 170 80 A="ATQ1E0S2=255S0=1":GOSUB 130:CLS:PRINT"SYSOP HIT [ESCAPE] TO ENTER LOCAL":PRINT "WAITING FOR CALLS..":A="" 90 IF(INP(1021)AND 1) THEN DUMY=INP(1016) 100 X$=INKEY$:IF X$=CHR$(27)THEN LM=-1:T2!=TIMER:OUT 1020,0:CLS:GOTO 190 110 IF INP(1022)<128 THEN 90 120 T2!=TIMER:OUT 1019,131:OUT 1016,128:OUT 1017,1:OUT 1019,3:GOTO 190 130 A=A+CHR$(13):FOR LA=1 TO LEN(A) 140 IF(INP(1021)AND 1)THEN DUMY=INP(1016) 150 IF(INP(1021)AND 32)=0 THEN 140 160 OUT 1016,ASC(MID$(A,LA,1)):NEXT:RETURN 170 T!=TIMER+2 180 IF TIMER<T!AND T!<86400! THEN 180 ELSE RETURN 190 BD=F1$(1):GOSUB 440 200 CALL IO.O:A="Codename? ":FG=30:CALL IO.I:GOSUB 480:GOSUB 490:AO=AL:IF AL="" THEN 200 220 CALL IO.O:A="Password? ":FG=20:CALL IO.I:GOSUB 480:GOSUB 490:AF=AL:IF AL="" THEN 220 240 FOR UX=1 TO LOF(3)/256:GET 3,UX 250 IF AN=AO+STRING$(30-LEN(AO),32) THEN IF PS$=AF+STRING$(20-LEN(AF),32) THEN 290 ELSE 200 260 NEXT:FOR UX=1 TO LOF(3)/256:GET 3,UX:IF LEFT$(AN,8)<>"ZZZZZNUL" THEN NEXT:GET 3,UX 270 LSET AN=AO:LSET PS$=AF:LSET AC=DATE$ 280 PUT 3,UX:C8=1:A="Remember your password.":CALL IO.O 290 IF AC<>DATE$ THEN C8=1:LSET AC=DATE$ ELSE C8=VAL(B1) 300 C2=VAL(A1):IF LM OR C2=7 THEN CX!=180000!:GOTO 340 310 C8=C8+1:IF C8>3 THEN A="Sorry, you have exceeded the call limit restriction!":CALL IO.O:BD=F1$(4):GOSUB 440:OUT 1020,0:GOTO 40 320 LSET B1=RIGHT$(STR$(C8),1):PUT 3,UX 330 I4=0:IF LF>1 THEN CX!=1800 ELSE CX!=1500 340 BD=F1$(3):GOSUB 440 350 A="Welcome "+CHR$(34)+AO+CHR$(34) 360 BD=F1$(2):GOSUB 440 370 CALL DND 380 IF TIMER=>T2!THEN T3!=TIMER-T2! ELSE T3!=TIMER+86400!-T2! 390 A="You were on for" 400 T5!=INT(T3!/60!) 410 T4!=T3!-T5!*60!:IF T5!=0 THEN A=A+STR$(INT(T4!))+" sec.":GOTO 430 420 IF T5!>60! THEN A=A+" more than an hour." ELSE A=A+STR$(T5!)+" min.":IF T4! THEN A=A+" and"+STR$(INT(T4!))+" sec." ELSE A=A+"." 430 T2!=TIMER:CALL IO.O:BD=F1$(4):GOSUB 440:GOTO 40 440 CLOSE 1:OPEN "R",1,BD,1:IF LOF(1)=0 THEN 470 450 CLOSE 1:OPEN "I",1,BD:WHILE EOF(1)=0:LINE INPUT#1,A:CALL IO.O 460 WEND 470 CLOSE 1:RETURN 480 FOR UC=1 TO LEN(AL):UC1=ASC(MID$(AL,UC,1)):MID$(AL,UC,1)=CHR$(UC1+32*(UC1>96 AND UC1<123)):NEXT:RETURN 490 IF LEFT$(AL,1)=" " THEN AL=MID$(AL,2):GOTO 490 500 RETURN 510 IF ERL=20 THEN PRINT "BAD OR MISSING CONFIGURATION FILE":RESUME 550 520 IF ERR=75 OR ERR=76 THEN PRINT "BAD PATHNAME -- RUN CONFIGURATION PROGRAM":RESUME 550 530 PRINT "Error"ERR"in module DNDBBS number"ERL 540 RESUME NEXT 550 E